home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat2 / standard / intro.z / intro
Encoding:
Text File  |  1998-10-20  |  73.7 KB  |  1,585 lines

  1.  
  2.  
  3.  
  4. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      intro - introduction to system calls and error numbers
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ####iiiinnnncccclllluuuuddddeeee <<<<eeeerrrrrrrrnnnnoooo....hhhh>>>>
  13.      ####iiiinnnncccclllluuuuddddeeee <<<<lllliiiimmmmiiiittttssss....hhhh>>>>
  14.  
  15. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.      This section describes all of the system calls.  Most of these calls have
  17.      one or more error returns.  An error condition is indicated by an
  18.      otherwise impossible returned value.  This is almost always -1 or the
  19.      NULL pointer; the individual descriptions specify the details.  An error
  20.      number is also made available in the external variable _e_r_r_n_o.  _e_r_r_n_o is
  21.      not cleared on successful calls, so it should be tested only after an
  22.      error has been indicated.
  23.  
  24.      Many of these errors are caused by certain system or user limits being
  25.      exceeded.  In the individual manual pages, these limits are enclosed in
  26.      braces (i.e.  {_O_P_E_N__M_A_X}).  The section _L_I_M_I_T_S defines these limits,
  27.      where and how they are configured, and whether they are alterable.
  28.  
  29.      Each system call description attempts to list all possible error numbers.
  30.      The following is a complete list of the error numbers and their names as
  31.      defined in <<<<eeeerrrrrrrrnnnnoooo....hhhh>>>>.
  32.  
  33.      1  EPERM  Operation not permitted
  34.           Typically this error indicates an attempt to modify a file in some
  35.           way forbidden except to its owner or super-user.  It is also
  36.           returned for attempts by ordinary users to do things allowed only to
  37.           the super-user.  A special case of this involves setuid/setgid shell
  38.           scripts and a kernel that is configured with a non-zero value for
  39.           _n_o_s_u_i_d_s_h_e_l_l_s (the shipped default).  The kernel returns EPERM when a
  40.           non-superuser attempts to execute such a shell script with a uid or
  41.           gid which is different than the user's effective uid/gid.  The
  42.           kernel also returns EPERM if it has been configured with a non-zero
  43.           value for _r_e_s_t_r_i_c_t_e_d__c_h_o_w_n . Only the super-user can change the
  44.           owner of the file, because if users were able to give files away,
  45.           they could defeat the file space accounting procedures. The owner of
  46.           the file may change the group ownership only to those groups of
  47.           which he is a member.  Another case where the kernel may return
  48.           EPERM is when a non-superuser tries to execute a setuid file which
  49.           belongs to some other user and the file system in which the file
  50.           resides has been mounted with the _n_o_s_u_i_d option.
  51.  
  52.      2  ENOENT  No such file or directory
  53.           This error occurs when a file name is specified and the file should
  54.           exist but doesn't, or when one of the directories in a path name
  55.           does not exist.
  56.  
  57.      3  ESRCH  No such process
  58.           No process can be found corresponding to that specified by _p_i_d in
  59.           _k_i_l_l(2), _b_l_o_c_k_p_r_o_c(2), or _p_t_r_a_c_e(2).
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  71.  
  72.  
  73.  
  74.      4  EINTR  Interrupted function call
  75.           An asynchronous signal (such as interrupt or quit), which the user
  76.           has elected to catch, occurred during the execution of an
  77.           interruptible function.  If execution is resumed after processing
  78.           the signal, it will appear as if the interrupted system call
  79.           returned this error condition [see section on interruptibility].
  80.  
  81.      5  EIO  I/O error
  82.           Some physical I/O error has occurred.  This error may in some cases
  83.           occur on a call following the one to which it actually applies.
  84.  
  85.      6  ENXIO  No such device or address
  86.           I/O on a special file refers to a subdevice which does not exist, or
  87.           beyond the limits of the device.  It may also occur when, for
  88.           example, a tape drive is not on-line or no disk pack is loaded on a
  89.           drive.
  90.  
  91.      7  E2BIG  Arg list too long
  92.           An argument list longer than {_A_R_G__M_A_X} bytes is presented to a
  93.           member of the _e_x_e_c(2) family.
  94.  
  95.      8  ENOEXEC  Exec format error
  96.           A request is made to execute a file which, although it has the
  97.           appropriate permissions, does not start with a valid magic number
  98.           [see _a._o_u_t(4)].
  99.  
  100.      9  EBADF  Bad file number
  101.           Either a file descriptor refers to no open file, or a _r_e_a_d(2)
  102.           [respectively, _w_r_i_t_e(2)] request is made to a file which is open
  103.           only for writing (respectively, reading).
  104.  
  105.      10  ECHILD  No child processes
  106.           A _w_a_i_t or _w_a_i_t_p_i_d function was executed by a process that had no
  107.           existing or unwaited-for child processes.
  108.  
  109.      11  EAGAIN  Resource temporarily unavailable
  110.           1) A _f_o_r_k or _s_p_r_o_c failed because the maximum number of processes
  111.           system wide {_N_P_R_O_C} was exceeded or the user exceeded their limit on
  112.           the number of child processes {_C_H_I_L_D__M_A_X}.  2) A system call failed
  113.           because of insufficient memory or swap space.  Later calls to the
  114.           same routine may complete normally.  3) Some read system calls--
  115.           involving empty streams or locked files/records--with the O_NDELAY
  116.           flag set may return this error.  See _r_e_a_d(2).  4) An operation which
  117.           would cause a process to block was attempted on an object in non-
  118.           blocking mode [see _i_o_c_t_l(2)].  5) A file system operation was unable
  119.           to complete due to a locked file or record (see _ffff_cccc_nnnn_tttt_llll(2)].
  120.  
  121.      11  EWOULDBLOCK  Operation would block
  122.           This is a synonym for EAGAIN.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  137.  
  138.  
  139.  
  140.      12  ENOMEM  Not enough space
  141.           During an _e_x_e_c(2), _b_r_k(2), or _s_b_r_k(2), a process exceeds its maximum
  142.           allowable size {_P_R_O_C_S_I_Z_E__M_A_X}.  This may also be returned by device
  143.           drivers if they cannot dynamically allocate enough space.
  144.  
  145.      13  EACCES  Permission denied
  146.           An attempt was made to access a file in a way forbidden by the
  147.           protection system.
  148.  
  149.      14  EFAULT  Bad address
  150.           The system encountered a hardware fault in attempting to use an
  151.           argument of a system call.
  152.  
  153.      15  ENOTBLK  Block device required
  154.           A non-block file was mentioned where a block device was required,
  155.           (e.g., in a call to the _m_o_u_n_t(2) routine).
  156.  
  157.      16  EBUSY  Resource busy
  158.           An attempt was made to mount a device that was already mounted or an
  159.           attempt was made to dismount a device on which there is an active
  160.           file (open file, current directory, mounted-on file, active text
  161.           segment).  It will also occur if an attempt is made to enable
  162.           accounting when it is already enabled.  The device or resource is
  163.           currently unavailable.
  164.  
  165.      17  EEXIST  File exists
  166.           An existing file was mentioned in an inappropriate context, (e.g.,
  167.           call to the _l_i_n_k(2) routine).
  168.  
  169.      18  EXDEV  Improper link
  170.           A link to a file on another file system was attempted.
  171.  
  172.      19  ENODEV  No such device
  173.           An attempt was made to apply an inappropriate system call to a
  174.           device; e.g., read a write-only device.
  175.  
  176.      20  ENOTDIR  Not a directory
  177.           A non-directory was specified where a directory is required, (e.g.,
  178.           in a path prefix or as an argument to the _c_h_d_i_r(2) routine).
  179.  
  180.      21  EISDIR  Is a directory
  181.           An attempt was made to write on a directory.
  182.  
  183.      22  EINVAL  Invalid argument
  184.           Some invalid argument (e.g., dismounting a non-mounted device;
  185.           mentioning an undefined signal in _s_i_g_n_a_l(2) or _k_i_l_l(2); reading or
  186.           writing a file for which _l_s_e_e_k(2) has generated a negative pointer).
  187.           Also set by the math functions described in the (3M) entries of this
  188.           manual.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  203.  
  204.  
  205.  
  206.      23  ENFILE  Too many open files in system
  207.           The system file table is full (has exceeded {_N_F_I_L_E__M_A_X} entries),
  208.           and temporarily no more _o_p_e_n_s can be accepted.
  209.  
  210.      24  EMFILE  Too many open files in a process
  211.           No process may have more than {_O_P_E_N__M_A_X} descriptors open at a time.
  212.           Or the maximum number of shared memory segments {_S_H_M_A_T__M_A_X} was
  213.           exceeded.
  214.  
  215.      25  ENOTTY  Inappropriate I/O control operation
  216.           An attempt was made to _i_o_c_t_l(2) a file that is not a special
  217.           character device.
  218.  
  219.      26  ETXTBSY  Text file busy
  220.           An attempt was made to execute a pure-procedure program that is
  221.           currently open for writing.  Also an attempt to open for writing or
  222.           to remove a pure-procedure program that is being executed.  This
  223.           error is no longer returned, and the actions mentioned above are now
  224.           permitted.
  225.  
  226.      27  EFBIG  File too large
  227.           The size of a file exceeded the per process maximum file size
  228.           {_F_I_L_E_S_I_Z_E__M_A_X}, or the file has more than the maximum number of
  229.           direct and indirect extents (usually indicates an extremely
  230.           fragmented filesystem; see _f_s_r(1m) for a method to fix this).
  231.  
  232.      28  ENOSPC  No space left on device
  233.           During a _w_r_i_t_e(2) to an ordinary file, there is no free space left
  234.           on the device.
  235.  
  236.      29  ESPIPE  Illegal seek
  237.           An _l_s_e_e_k(2) was issued to a pipe or FIFO.
  238.  
  239.      30  EROFS  Read-only file system
  240.           An attempt to modify a file or directory was made on a device
  241.           mounted read-only.
  242.  
  243.      31  EMLINK  Too many links
  244.           An attempt to make more than the maximum number of links {_L_I_N_K__M_A_X}
  245.           to a file.
  246.  
  247.      32  EPIPE  Broken pipe
  248.           A write on a pipe or FIFO for which there is no process to read the
  249.           data.
  250.  
  251.      33  EDOM  Domain error
  252.           The argument of a function in the math package (3M) or other library
  253.           functions is out of the domain of the function.
  254.  
  255.      34  ERANGE  Result too large
  256.           The value of a function in the math package (3M) is not
  257.           representable within machine precision, or a size specified is not
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  269.  
  270.  
  271.  
  272.           large enough.
  273.  
  274.      35  ENOMSG  No message of desired type
  275.           An attempt was made to receive a message of a type that does not
  276.           exist on the specified message queue [see _m_s_g_o_p(2)].
  277.  
  278.      36  EIDRM  Identifier removed
  279.           This error is returned to processes that resume execution due to the
  280.           removal of an identifier from the file system's name space [see
  281.           _m_s_g_c_t_l(2), _s_e_m_c_t_l(2), and _s_h_m_c_t_l(2)].
  282.  
  283.      37-44  Reserved  numbers
  284.  
  285.      45  EDEADLK  Resource deadlock avoided
  286.           An attempt was made to lock a system resource that would have
  287.           resulted in a deadlock situation.
  288.  
  289.      46  ENOLCK  No locks available
  290.           In _f_c_n_t_l(2) the setting or removing of record locks on a file cannot
  291.           be accomplished because the system wide maximum number of record
  292.           entries {_F_L_O_C_K__M_A_X} has been exceeded.  It can also occur when
  293.           attempting to lock a file located on an NFS mounted file system and
  294.           the appropriate NFS lock daemons are not running.
  295.  
  296.      47  ECKPT  Checkpoint/Restart error
  297.           A process Checkpoint/Restart (CPR) operation has failed due to
  298.           several possible fatal reasons. It can occur when an unrecoverable
  299.           critical resource is associated with the target process during a
  300.           checkpoint or restart. See _c_p_r(1) for more detailed descriptions on
  301.           CPR and error conditions.
  302.  
  303.      50-57  Reserved  numbers
  304.  
  305.      60  ENOSTR  Not a stream device
  306.           A _p_u_t_m_s_g(2) or _g_e_t_m_s_g(2) system call was attempted on a file
  307.           descriptor that is not a STREAMS device.
  308.  
  309.      61  ENODATA  No data available
  310.  
  311.      62  ETIME  Timer expired
  312.           The timer set for a STREAMS _i_o_c_t_l(2) call has expired.  The cause of
  313.           this error is device specific and could indicate either a hardware
  314.           or software failure, or perhaps a timeout value that is too short
  315.           for the specific operation.  The status of the _i_o_c_t_l(2) operation is
  316.           indeterminate.
  317.  
  318.      63  ENOSR  Out of stream resources
  319.           During a STREAMS _o_p_e_n(2), either no STREAMS queues or no STREAMS
  320.           head data structures were available.  This is a temporary condition;
  321.           one may recover from it if other processes release resources.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  335.  
  336.  
  337.  
  338.      64  Reserved
  339.  
  340.      65  ENOPKG  Package not installed
  341.           This error occurs when users attempt to use a system call from a
  342.           package which has not been installed.
  343.  
  344.      66-70  Reserved  numbers
  345.  
  346.      71  EPROTO  Protocol error
  347.           Some protocol error occurred.  This error is device specific, but is
  348.           generally not related to a hardware failure.
  349.  
  350.      74-76  Reserved  numbers
  351.  
  352.      77  EBADMSG  Bad message
  353.           During a _r_e_a_d(2), _g_e_t_m_s_g(2), or _i_o_c_t_l(2) I_RECVFD system call to a
  354.           STREAMS device, something has come to the head of the queue that
  355.           can't be processed.  That something depends on the system call:
  356.             _r_e_a_d(2) - control information or a passed file descriptor.
  357.             _g_e_t_m_s_g(2) - passed file descriptor.
  358.             _i_o_c_t_l(2) - control or data information.
  359.  
  360.      78  ENAMETOOLONG  File name too long
  361.           The size of a pathname string exceeds {_P_A_T_H__M_A_X} , or a pathname
  362.           component was longer than {_N_A_M_E__M_A_X} and {__P_O_S_I_X__N_O__T_R_U_N_C} was in
  363.           effect for that file.
  364.  
  365.      79  EOVERFLOW  Value too large for defined data type
  366.           This error can occur for a variety of reasons, most to do with
  367.           existing applications being compiled with data structures that
  368.           cannot handle newer expanded sizes.  It also occurs often if a 32
  369.           bit program attempts to access particular data about a 64 bit
  370.           program.
  371.  
  372.           The user ID or group ID of an IPC or file system object was too
  373.           large to be stored into appropriate member of the caller-provided
  374.           structure.
  375.  
  376.           The size of a file system object is larger than can be represented
  377.           in an _oooo_ffff_ffff______tttt. This occurs when standard 32 bit programs attempt to
  378.           access files greater than 2GB, or files greater than 2GB are
  379.           accessed across a remote file system that cannot handle that size.
  380.  
  381.      80-82  Reserved  numbers
  382.  
  383.      83  ELIBACC  Can not access a needed shared library
  384.           Trying to _e_x_e_c(2) an _a._o_u_t that requires a shared library (to be
  385.           linked in) and the shared library doesn't exist or the user doesn't
  386.           have permission to use it. (obsolete)
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  401.  
  402.  
  403.  
  404.      84  ELIBBAD  Accessing a corrupted shared library
  405.           Trying to _e_x_e_c(2) an _a._o_u_t that requires a shared library (to be
  406.           linked in) and _e_x_e_c(2) could not load the shared library. The shared
  407.           library is probably corrupted. (obsolete)
  408.  
  409.      85  ELIBSCN  .lib section in _a._o_u_t corrupted
  410.           Trying to _e_x_e_c(2) an _a._o_u_t that requires a shared library (to be
  411.           linked in) and there was erroneous data in the .lib section of the
  412.           _a._o_u_t. The .lib section tells _e_x_e_c(2) what shared libraries are
  413.           needed. The _a._o_u_t is probably corrupted. (obsolete)
  414.  
  415.      86  ELIBMAX  Attempting to link in more shared libraries than system
  416.           limit
  417.           Trying to _e_x_e_c(2) an _a._o_u_t that requires more shared libraries (to
  418.           be linked in) than the system imposed maximum {_S_H_L_I_B__M_A_X}.
  419.           (obsolete)
  420.  
  421.      87  ELIBEXEC  Cannot exec a shared library directly
  422.           Trying to _e_x_e_c(2) a shared library directly. This is not allowed.
  423.           (obsolete)
  424.  
  425.      88  Reserved  number
  426.  
  427.      89  ENOSYS  Function not implemented
  428.           An attempt was made to use a function that is not available in this
  429.           implementation.
  430.  
  431.      90  ELOOP  Too many symbolic links in path name traversal
  432.           A path name lookup involved more than {_S_Y_M_L_I_N_K__M_A_X}symbolic_l_i_n_k_s.
  433.  
  434.      91  ERESTART  Restartable system call
  435.           Interrupted system call should be restarted.
  436.  
  437.      92  ESTRPIPE  If pipe/FIFO, don't sleep in stream head
  438.           Streams pipe error (not externally visible).
  439.  
  440.      93  ENOTEMPTY  Directory not empty
  441.           A directory with entries other than dot and dot-dot was supplied
  442.           when an empty directory was expected.
  443.  
  444.      94  Reserved  number
  445.  
  446.      95  ENOTSOCK  Socket operation on non-socket
  447.  
  448.      96  EDESTADDRREQ  Destination address required
  449.           A required address was omitted from an operation on a socket.
  450.  
  451.      97  EMSGSIZE  Inappropriate message buffer length
  452.           A message sent on a socket was larger than the internal message
  453.           buffer or some other network limit.
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  467.  
  468.  
  469.  
  470.      98  EPROTOTYPE  Protocol wrong type for socket
  471.           A protocol was specified which does not support the semantics of the
  472.           socket type requested.  For example, you cannot use the ARPA
  473.           Internet UDP protocol with type SOCK_STREAM.
  474.  
  475.      99  ENOPROTOOPT  Option not supported by protocol
  476.           A bad option was specified in a _g_e_t_s_o_c_k_o_p_t(2) or _s_e_t_s_o_c_k_o_p_t(2) call.
  477.  
  478.      120  EPROTONOSUPPORT  Protocol not supported
  479.           The protocol has not been configured into the system or no
  480.           implementation for it exists.
  481.  
  482.      121  ESOCKTNOSUPPORT  Socket type not supported
  483.           The support for the socket type has not been configured into the
  484.           system or no implementation exists.
  485.  
  486.      122  EOPNOTSUPP  Operation not supported on socket
  487.           For example, trying to _a_c_c_e_p_t a connection on a datagram socket.
  488.  
  489.      123  EPFNOSUPPORT  Protocol family not supported
  490.           The protocol family has not been configured into the system or no
  491.           implementation exists.
  492.  
  493.      124  EAFNOSUPPORT  Address family not supported by protocol family
  494.           An address incompatible with the requested protocol was used.  For
  495.           example, you shouldn't necessarily expect to be able to use PUP
  496.           Internet addresses with ARPA Internet protocols.
  497.  
  498.      125  EADDRINUSE  Address already in use
  499.           Only one usage of each address is normally permitted.
  500.  
  501.      126  EADDRNOTAVAIL  Can't assign requested address
  502.           Normally results from an attempt to create a socket with an address
  503.           not on this machine.
  504.  
  505.      127  ENETDOWN  Network is down
  506.           A socket operation encountered a dead network.
  507.  
  508.      128  ENETUNREACH  Network is unreachable
  509.           A socket operation was attempted to an unreachable network.
  510.  
  511.      129  ENETRESET  Network dropped connection on reset
  512.           The host you were connected to crashed and rebooted.
  513.  
  514.      130  ECONNABORTED  Software caused connection abort
  515.           A connection abort was caused internal to your host machine.
  516.  
  517.      131  ECONNRESET  Connection reset by peer
  518.           A connection was forcibly closed by a peer.  This normally results
  519.           from a peer executing a _s_h_u_t_d_o_w_n(2) call.
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  533.  
  534.  
  535.  
  536.      132  ENOBUFS  No buffer space available
  537.           An operation on a socket or pipe performed because the system lacked
  538.           sufficient buffer space.
  539.  
  540.      133  EISCONN  Socket is already connected
  541.           A _c_o_n_n_e_c_t request was made on an already connected socket; or a
  542.           _s_e_n_d_t_o or _s_e_n_d_m_s_g request on a connected socket specified a
  543.           destination other than the connected party.
  544.  
  545.      134  ENOTCONN  Socket is not connected
  546.           A request to send or receive data was disallowed because the socket
  547.           was not connected.
  548.  
  549.      135-142  Reserved  numbers
  550.  
  551.      143  ESHUTDOWN  Can't send after socket shutdown
  552.           A request to send data was disallowed because the socket had already
  553.           been shut down with a previous _s_h_u_t_d_o_w_n(2) call.
  554.  
  555.      144  ETOOMANYREFS  Too many references: can't splice
  556.  
  557.      145  ETIMEDOUT  Connection timed out
  558.           A _c_o_n_n_e_c_t request failed because the connected party did not
  559.           properly respond after a period of time. (The timeout period is
  560.           dependent on the communication protocol.)  [see section on
  561.           interruptibility.]
  562.  
  563.      146  ECONNREFUSED  Connection refused
  564.           No connection could be made because the target machine actively
  565.           refused it.
  566.  
  567.      147  EHOSTDOWN  Host is down
  568.  
  569.      148  EHOSTUNREACH  No route to host
  570.  
  571.      149  EALREADY  Operation already in progress
  572.           An operation was attempted on a non-blocking object which already
  573.           had an operation in progress.
  574.  
  575.      150  EINPROGRESS  Operation now in progress
  576.           An operation which takes a long time to complete (such as a
  577.           _c_o_n_n_e_c_t(2)) was attempted on a non-blocking object [see _i_o_c_t_l(2)].
  578.  
  579.      151  ESTALE  Stale NFS file handle
  580.  
  581.      158  ECANCELLED  Cancelled
  582.           The associated asynchronous operation was canceled before
  583.           completion.
  584.  
  585.      1008  ENOTSUP  Not supported
  586.           IRIX does not support this feature of a standard.
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  599.  
  600.  
  601.  
  602.      1009  ENOATTR  Attribute not found
  603.           Named attribute does not exist for this file.
  604.  
  605.      1010  EFSCORRUPTED  Filesystem is corrupted
  606.           Operation failed because the filesystem is corrupted.
  607.  
  608.      1011  EWRONGFS  Mount with wrong filesystem type
  609.           Mount failed because the wrong filesystem type was supplied, or
  610.           because there is no filesystem on the device.
  611.  
  612.      1133  EDQUOT  Disc quota exceeded
  613.  
  614.      1135  ENFSREMOTE  Too many levels of remote in path
  615.  
  616. DDDDEEEEFFFFIIIINNNNIIIITTTTIIIIOOOONNNNSSSS
  617.  
  618.      BBBBaaaacccckkkkggggrrrroooouuuunnnndddd PPPPrrrroooocccceeeessssssss GGGGrrrroooouuuupppp Any process group that is not the foreground
  619.      process group of a session that has established a connection with a
  620.      controlling terminal.
  621.  
  622.  
  623.      CCCCoooonnnnttttrrrroooolllllllliiiinnnngggg PPPPrrrroooocccceeeessssssss A session leader that established a connection to a
  624.      controlling terminal.
  625.  
  626.  
  627.      CCCCoooonnnnttttrrrroooolllllllliiiinnnngggg TTTTeeeerrrrmmmmiiiinnnnaaaallll A terminal that is associated with a session.  Each
  628.      session may have, at most one controlling terminal associated with it and
  629.      a controlling terminal may be associated with only one session.  Certain
  630.      input sequences from the controlling terminal cause signals to be sent to
  631.      process groups in the session associated with the controlling terminal;
  632.      see _tttt_eeee_rrrr_mmmm_iiii_oooo(7).
  633.  
  634.  
  635.      DDDDiiiirrrreeeeccccttttoooorrrryyyy
  636.  
  637.  
  638.      Directories organize files into a hierarchical system where directories
  639.      are the nodes in the hierarchy.  A directory is a file that catalogues
  640.      the list of files, including directories (sub-directories), that are
  641.      directly beneath it in the hierarchy.  Entries in a directory file are
  642.      called links.  A link associates a file identifier with a filename.  By
  643.      convention, a directory contains at least two links, _.... (dot) and _...._....
  644.      (dot-dot).  The link called dot refers to the directory itself while
  645.      dot-dot refers to its parent directory.  The root directory, which is the
  646.      top-most node of the hierarchy, has itself as its parent directory.  The
  647.      pathname of the root directory is _//// and the parent directory of the root
  648.      directory is _////.  DDDDoooowwwwnnnnssssttttrrrreeeeaaaammmm In a _s_t_r_e_a_m, the direction from _s_t_r_e_a_m _h_e_a_d
  649.      to _d_r_i_v_e_r.
  650.  
  651.  
  652.      DDDDrrrriiiivvvveeeerrrr In a _s_t_r_e_a_m, the _d_r_i_v_e_r provides the interface between peripheral
  653.      hardware and the _s_t_r_e_a_m.  A _d_r_i_v_e_r can also be a pseudo-_d_r_i_v_e_r, such as a
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  665.  
  666.  
  667.  
  668.      _m_u_l_t_i_p_l_e_x_o_r or log _d_r_i_v_e_r [see _l_o_g(7)], which is not associated with a
  669.      hardware device.
  670.  
  671.  
  672.      EEEEffffffffeeeeccccttttiiiivvvveeee UUUUsssseeeerrrr IIIIDDDD aaaannnndddd EEEEffffffffeeeeccccttttiiiivvvveeee GGGGrrrroooouuuupppp IIIIDDDD An active process has an
  673.      effective user ID and an effective group ID that are used to determine
  674.      file access permissions (see below).  The effective user ID and effective
  675.      group ID are equal to the process's real user ID and real group ID
  676.      respectively, unless the process or one of its ancestors evolved from a
  677.      file that had the set-user-ID bit or set-group ID bit set [see _e_x_e_c(2)].
  678.  
  679.  
  680.      FFFFiiiilllleeee DDDDeeeessssccccrrrriiiippppttttoooorrrr A file descriptor is a small integer used to do I/O on a
  681.      file.  The value of a file descriptor is from 0 to (NOFILES - 1).  A
  682.      process may have no more than NOFILES file descriptors open
  683.      simultaneously.  A file descriptor is returned by system calls such as
  684.      _o_p_e_n(2), or _p_i_p_e(2).  The file descriptor is used as an argument by calls
  685.      such as _r_e_a_d(2), _w_r_i_t_e(2), _i_o_c_t_l(2), _m_m_a_p(2), _m_u_n_m_a_p(2), and _c_l_o_s_e(2).
  686.      NOFILES is a synonym for {_O_P_E_N__M_A_X}.
  687.  
  688.  
  689.      FFFFiiiilllleeee AAAAcccccccceeeessssssss PPPPeeeerrrrmmmmiiiissssssssiiiioooonnnnssss Read, write, and execute/search permissions on a
  690.      file are granted to a process if one or more of the following are true:
  691.  
  692.           The effective user ID of the process is super-user.
  693.  
  694.           The effective user ID of the process matches the user ID of the
  695.           owner of the file and the appropriate access bit of the ``owner''
  696.           portion (0700) of the file mode is set.
  697.  
  698.           The effective user ID of the process does not match the user ID of
  699.           the owner of the file, and the effective group ID of the process
  700.           matches the group of the file and the appropriate access bit of the
  701.           ``group'' portion (0070) of the file mode is set.
  702.  
  703.           The effective user ID of the process does not match the user ID of
  704.           the owner of the file, and the effective group ID of the process
  705.           does not match the group ID of the file, and the appropriate access
  706.           bit of the ``other'' portion (0007) of the file mode is set.
  707.  
  708.      Otherwise, the corresponding permissions are denied.
  709.  
  710.  
  711.      FFFFiiiilllleeee NNNNaaaammmmeeee Names consisting of 1 to {_N_A_M_E__M_A_X} characters may be used to
  712.      name an ordinary file, special file or directory.
  713.  
  714.      These characters may be selected from the set of all character values
  715.      excluding \0 (null) and the ASCII code for //// (slash).
  716.  
  717.      Note that it is generally unwise to use ****, ????, [[[[, or ]]]] as part of file
  718.      names because of the special meaning attached to these characters by the
  719.      shell [see _s_h(1)].  Although permitted, the use of unprintable characters
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  731.  
  732.  
  733.  
  734.      in file names should be avoided.
  735.  
  736.      A file name is sometimes referred to as a pathname component.  The
  737.      interpretation of a pathname component is dependent on the values of
  738.      _NNNN_AAAA_MMMM_EEEE______MMMM_AAAA_XXXX and ______PPPP_OOOO_SSSS_IIII_XXXX______NNNN_OOOO______TTTT_RRRR_UUUU_NNNN_CCCC associated with the path prefix of that
  739.      component.  If any pathname component is longer than _NNNN_AAAA_MMMM_EEEE______MMMM_AAAA_XXXX and
  740.      ______PPPP_OOOO_SSSS_IIII_XXXX______NNNN_OOOO______TTTT_RRRR_UUUU_NNNN_CCCC is in effect for the path prefix of that component [see
  741.      _ffff_pppp_aaaa_tttt_hhhh_cccc_oooo_nnnn_ffff(2) and _llll_iiii_mmmm_iiii_tttt_ssss(4)], it shall be considered an error condition in
  742.      that implementation.  Otherwise, the implementation shall use the first
  743.      _NNNN_AAAA_MMMM_EEEE______MMMM_AAAA_XXXX bytes of the pathname component.
  744.  
  745.  
  746.      FFFFoooorrrreeeeggggrrrroooouuuunnnndddd PPPPrrrroooocccceeeessssssss GGGGrrrroooouuuupppp Each session that has established a connection
  747.      with a controlling terminal will distinguish one process group of the
  748.      session as the foreground process group of the controlling terminal.
  749.      This group has certain privileges when accessing its controlling terminal
  750.      that are denied to background process groups.
  751.  
  752.  
  753.      MMMMeeeessssssssaaaaggggeeee In a _s_t_r_e_a_m, one or more blocks of data or information, with
  754.      associated STREAMS control structures.  _M_e_s_s_a_g_e_s can be of several
  755.      defined types, which identify the _m_e_s_s_a_g_e contents.  _M_e_s_s_a_g_e_s are the
  756.      only means of transferring data and communicating within a _s_t_r_e_a_m.
  757.  
  758.  
  759.      MMMMeeeessssssssaaaaggggeeee QQQQuuuueeeeuuuueeee In a _s_t_r_e_a_m, a linked list of _m_e_s_s_a_g_e_s awaiting processing
  760.      by a _m_o_d_u_l_e or _d_r_i_v_e_r.
  761.  
  762.  
  763.      MMMMeeeessssssssaaaaggggeeee QQQQuuuueeeeuuuueeee IIIIddddeeeennnnttttiiiiffffiiiieeeerrrr A message queue identifier (msqid) is a unique
  764.      positive integer created by a _m_s_g_g_e_t(2) system call.  Each msqid has a
  765.      message queue and a data structure associated with it.  The data
  766.      structure is referred to as _m_s_q_i_d__d_s and contains the following members:
  767.  
  768.           struct  ipc_perm msg_perm;
  769.           struct  msg *msg_first;
  770.           struct  msg *msg_last;
  771.           ulong_t msg_cbytes;
  772.           ulong_t msg_qnum;
  773.           ulong_t msg_qbytes;
  774.           pid_t   msg_lspid;
  775.           pid_t   msg_lrpid;
  776.           time_t  msg_stime;
  777.           time_t  msg_rtime;
  778.           time_t  msg_ctime;
  779.  
  780.      mmmmssssgggg____ppppeeeerrrrmmmm is an ipc_perm structure that specifies the message operation
  781.      permission (see below).  This structure includes the following members:
  782.  
  783.           uid_t   cuid;       /* creator user id */
  784.           gid_t   cgid;       /* creator group id */
  785.           uid_t   uid;        /* user id */
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  797.  
  798.  
  799.  
  800.           gid_t   gid;        /* group id */
  801.           mode_t  mode;       /* r/w permission */
  802.           ulong_t seq;        /* slot usage sequence # */
  803.           key_t   key;        /* key */
  804.  
  805.      mmmmssssgggg ****mmmmssssgggg____ffffiiiirrrrsssstttt
  806.           is a pointer to the first message on the queue.
  807.  
  808.      mmmmssssgggg ****mmmmssssgggg____llllaaaasssstttt
  809.           is a pointer to the last message on the queue.
  810.  
  811.      mmmmssssgggg____ccccbbbbyyyytttteeeessss
  812.           is the current number of bytes on the queue.
  813.  
  814.      mmmmssssgggg____qqqqnnnnuuuummmm
  815.           is the number of messages currently on the queue.
  816.  
  817.      mmmmssssgggg____qqqqbbbbyyyytttteeeessss
  818.           is the maximum number of bytes allowed on the queue.
  819.  
  820.      mmmmssssgggg____llllssssppppiiiidddd
  821.           is the process id of the last process that performed a _m_s_g_s_n_d
  822.           operation.
  823.  
  824.      mmmmssssgggg____llllrrrrppppiiiidddd
  825.           is the process id of the last process that performed a _m_s_g_r_c_v
  826.           operation.
  827.  
  828.      mmmmssssgggg____ssssttttiiiimmmmeeee
  829.           is the time of the last _m_s_g_s_n_d operation.
  830.  
  831.      mmmmssssgggg____rrrrttttiiiimmmmeeee
  832.           is the time of the last _m_s_g_r_c_v operation
  833.  
  834.      mmmmssssgggg____ccccttttiiiimmmmeeee
  835.           is the time of the last _m_s_g_c_t_l(2) operation that changed a member of
  836.           the above structure.
  837.  
  838.  
  839.      MMMMeeeessssssssaaaaggggeeee OOOOppppeeeerrrraaaattttiiiioooonnnn PPPPeeeerrrrmmmmiiiissssssssiiiioooonnnnssss In the _m_s_g_o_p(2) and _m_s_g_c_t_l(2) system call
  840.      descriptions, the permission required for an operation is given as
  841.      "{token}", where "token" is the type of permission needed, interpreted as
  842.      follows:
  843.  
  844.             00400          Read by user
  845.             00200          Write by user
  846.             00040          Read by group
  847.             00020          Write by group
  848.             00004          Read by others
  849.             00002          Write by others
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                                                        PPPPaaaaggggeeee 11113333
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  863.  
  864.  
  865.  
  866.      Read and write permissions on a msqid are granted to a process if one or
  867.      more of the following are true:
  868.  
  869.           The effective user ID of the process is super-user.
  870.  
  871.           The effective user ID of the process matches mmmmssssgggg____ppppeeeerrrrmmmm....ccccuuuuiiiidddd or
  872.           mmmmssssgggg____ppppeeeerrrrmmmm....uuuuiiiidddd in the data structure associated with _m_s_q_i_d and the
  873.           appropriate bit of the ``user'' portion (0600) of mmmmssssgggg____ppppeeeerrrrmmmm....mmmmooooddddeeee is
  874.           set.
  875.  
  876.           The effective group ID of the process matches mmmmssssgggg____ppppeeeerrrrmmmm....ccccggggiiiidddd or
  877.           mmmmssssgggg____ppppeeeerrrrmmmm....ggggiiiidddd and the appropriate bit of the ``group'' portion (060)
  878.           of mmmmssssgggg____ppppeeeerrrrmmmm....mmmmooooddddeeee is set.
  879.  
  880.           The appropriate bit of the ``other'' portion (006) of mmmmssssgggg____ppppeeeerrrrmmmm....mmmmooooddddeeee
  881.           is set.
  882.  
  883.      Otherwise, the corresponding permissions are denied.
  884.  
  885.  
  886.      MMMMoooodddduuuulllleeee A module is an entity containing processing routines for input and
  887.      output data.  It always exists in the middle of a _s_t_r_e_a_m, between the
  888.      stream's head and a _d_r_i_v_e_r.  A _m_o_d_u_l_e is the STREAMS counterpart to the
  889.      commands in a Shell pipeline except that a module contains a pair of
  890.      functions which allow independent bidirectional (_d_o_w_n_s_t_r_e_a_m and _u_p_s_t_r_e_a_m)
  891.      data flow and processing.
  892.  
  893.  
  894.      MMMMuuuullllttttiiiipppplllleeeexxxxoooorrrr A multiplexor is a driver that allows _s_t_r_e_a_m_s associated with
  895.      several user processes to be connected to a single _d_r_i_v_e_r, or several
  896.      _d_r_i_v_e_r_s to be connected to a single user process.  STREAMS does not
  897.      provide a general multiplexing _d_r_i_v_e_r, but does provide the facilities
  898.      for constructing them, and for connecting multiplexed configurations of
  899.      _s_t_r_e_a_m_s.
  900.  
  901.  
  902.      OOOOrrrrpppphhhhaaaannnneeeedddd PPPPrrrroooocccceeeessssssss GGGGrrrroooouuuupppp A process group in which the parent of every
  903.      member in the group is either itself a member of the group, or is not a
  904.      member of the process group's session.  In other words, there is no
  905.      process that can handle job control signals for the process group.
  906.  
  907.  
  908.      PPPPaaaatttthhhh NNNNaaaammmmeeee aaaannnndddd PPPPaaaatttthhhh PPPPrrrreeeeffffiiiixxxx A path name is a null-terminated character
  909.      string starting with an optional slash (////), followed by zero or more
  910.      directory names separated by slashes, optionally followed by a file name.
  911.      The entire length of a path name is limited to {_P_A_T_H__M_A_X} characters.
  912.  
  913.      If a path name begins with a slash, the path search begins at the _r_o_o_t
  914.      directory.  Otherwise, the search begins from the current working
  915.      directory.
  916.  
  917.  
  918.  
  919.  
  920.  
  921.                                                                        PPPPaaaaggggeeee 11114444
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  929.  
  930.  
  931.  
  932.      A slash by itself names the root directory.
  933.  
  934.      Unless specifically stated otherwise, the null path name is treated as if
  935.      it named a non-existent file.
  936.  
  937.  
  938.      PPPPrrrroooocccceeeessssssss IIIIDDDD Each active process in the system is uniquely identified by a
  939.      positive value called a process ID.  This value is of the type pid_t.
  940.  
  941.  
  942.      PPPPaaaarrrreeeennnntttt PPPPrrrroooocccceeeessssssss IIIIDDDD A new process is created by a currently active process
  943.      [see _f_o_r_k(2) and _s_p_r_o_c(2)].  The parent process ID of a process is the
  944.      process ID of its creator.
  945.  
  946.  
  947.      PPPPrrrroooocccceeeessssssss GGGGrrrroooouuuupppp Each process in the system is a member of a process group
  948.      that is identified by a process group ID.  Any process that is not a
  949.      process group leader may create a new process group and become its
  950.      leader.  Any process that is not a process group leader may join an
  951.      existing process group that shares the same session as the process. Note
  952.      that all members of a given process group are also members of the same
  953.      session, by definition.  A newly created process joins the process group
  954.      of its parent.
  955.  
  956.      A terminal may have a particular process group associated with it, which
  957.      allows that group access to the terminal.  This process group can be set
  958.      only to process groups that are members of the terminal's session.  The
  959.      process group currently associated with the terminal is referred to as
  960.      the ffffoooorrrreeeeggggrrrroooouuuunnnndddd process group; all others are bbbbaaaacccckkkkggggrrrroooouuuunnnndddd process groups.
  961.  
  962.      A command interpreter, such as _c_s_h(1), that supports "job control" can
  963.      allocate the terminal to different _j_o_b_s, or process groups, by placing
  964.      related processes in a single process group and associating this process
  965.      group with the terminal.  A terminal's associated process group may be
  966.      set or examined by a process with sufficient privileges.
  967.  
  968.  
  969.      PPPPrrrroooocccceeeessssssss GGGGrrrroooouuuupppp LLLLeeeeaaaaddddeeeerrrr A process group leader is a process whose process ID
  970.      is the same as its process group ID.
  971.  
  972.  
  973.      PPPPrrrroooocccceeeessssssss GGGGrrrroooouuuupppp IIIIDDDD Each active process is a member of a process group that
  974.      is identified by a positive value called the process group ID.  This ID
  975.      is the process ID of the group leader.  This grouping permits the
  976.      signaling of related processes [see _k_i_l_l(2)].
  977.  
  978.  
  979.      PPPPrrrroooocccceeeessssssss LLLLiiiiffffeeeettttiiiimmmmeeee A process lifetime begins when the process is forked and
  980.      ends after it exits, when its termination has been acknowledged by its
  981.      parent process.  See _wwww_aaaa_iiii_tttt(2).
  982.  
  983.  
  984.  
  985.  
  986.  
  987.                                                                        PPPPaaaaggggeeee 11115555
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  995.  
  996.  
  997.  
  998.  
  999.      PPPPrrrroooocccceeeessssssss GGGGrrrroooouuuupppp LLLLiiiiffffeeeettttiiiimmmmeeee A process group lifetime begins when the process
  1000.      group is created by its process group leader, and ends when the lifetime
  1001.      of the last process in the group ends or when the last process in the
  1002.      group leaves the group by calling _s_e_t_p_g_i_d(_2) or _s_e_t_s_i_d(_2).
  1003.  
  1004.  
  1005.      RRRReeeeaaaadddd QQQQuuuueeeeuuuueeee In a _s_t_r_e_a_m, the _m_e_s_s_a_g_e _q_u_e_u_e in a _m_o_d_u_l_e or _d_r_i_v_e_r
  1006.      containing _m_e_s_s_a_g_e_s moving _u_p_s_t_r_e_a_m.
  1007.  
  1008.  
  1009.      RRRReeeeaaaallll UUUUsssseeeerrrr IIIIDDDD aaaannnndddd RRRReeeeaaaallll GGGGrrrroooouuuupppp IIIIDDDD Each user allowed on the system is
  1010.      identified by a positive integer 0 to {_U_I_D__M_A_X} (2,147,483,647) called a
  1011.      real user ID.
  1012.  
  1013.      Each user is also a member of a group.  The group is identified by a
  1014.      positive integer called the real group ID.
  1015.  
  1016.      An active process has a real user ID and real group ID that are set to
  1017.      the real user ID and real group ID, respectively, of the user responsible
  1018.      for the creation of the process.
  1019.  
  1020.  
  1021.      RRRRooooooootttt DDDDiiiirrrreeeeccccttttoooorrrryyyy aaaannnndddd CCCCuuuurrrrrrrreeeennnntttt WWWWoooorrrrkkkkiiiinnnngggg DDDDiiiirrrreeeeccccttttoooorrrryyyy Each process has associated
  1022.      with it a concept of a root directory and a current working directory for
  1023.      the purpose of resolving path name searches.  The root directory of a
  1024.      process need not be the root directory of the root file system.
  1025.  
  1026.  
  1027.      SSSSaaaavvvveeeedddd UUUUsssseeeerrrr IIIIDDDD aaaannnndddd SSSSaaaavvvveeeedddd GGGGrrrroooouuuupppp IIIIDDDD The saved user ID and saved group ID are
  1028.      the values of the effective user ID and effective group ID prior to an
  1029.      _eeee_xxxx_eeee_cccc of a file [see _eeee_xxxx_eeee_cccc(2)].
  1030.  
  1031.  
  1032.      SSSSeeeemmmmaaaapppphhhhoooorrrreeee IIIIddddeeeennnnttttiiiiffffiiiieeeerrrr A semaphore identifier (semid) is a unique positive
  1033.      integer created by a _s_e_m_g_e_t(2) system call.  Each semid has a set of
  1034.      semaphores and a data structure associated with it.  The data structure
  1035.      is referred to as _s_e_m_i_d__d_s and contains the following members:
  1036.  
  1037.           struct   ipc_perm sem_perm; /* operation permission struct */
  1038.           struct   sem *sem_base;     /* ptr to first semaphore in set */
  1039.           ushort_t sem_nsems;         /* number of sems in set */
  1040.           time_t   sem_otime;         /* last operation time */
  1041.           time_t   sem_ctime;         /* last change time */
  1042.                                       /* Times measured in secs since */
  1043.                                       /* 00:00:00 GMT, Jan. 1, 1970 */
  1044.  
  1045.      sssseeeemmmm____ppppeeeerrrrmmmm is an ipc_perm structure that specifies the semaphore operation
  1046.      permission (see below).  This structure includes the following members:
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                                                        PPPPaaaaggggeeee 11116666
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1061.  
  1062.  
  1063.  
  1064.           uid_t   uid;        /* user id */
  1065.           gid_t   gid;        /* group id */
  1066.           uid_t   cuid;       /* creator user id */
  1067.           gid_t   cgid;       /* creator group id */
  1068.           mode_t  mode;       /* r/a permission */
  1069.           ulong_t seq;        /* slot usage sequence number */
  1070.           key_t   key;        /* key */
  1071.  
  1072.      sssseeeemmmm____nnnnsssseeeemmmmssss
  1073.           is equal to the number of semaphores in the set.  Each semaphore in
  1074.           the set is referenced by a nonnegative integer referred to as a
  1075.           _s_e_m__n_u_m.  Sem_num values run sequentially from 0 to the value of
  1076.           sem_nsems minus 1.
  1077.  
  1078.      sssseeeemmmm____oooottttiiiimmmmeeee
  1079.           is the time of the last _s_e_m_o_p(2) operation.
  1080.  
  1081.      sssseeeemmmm____ccccttttiiiimmmmeeee
  1082.           is the time of the last _s_e_m_c_t_l(2) operation that changed a member of
  1083.           the above structure.
  1084.  
  1085.      A semaphore is a data structure called _s_e_m that contains the following
  1086.      members:
  1087.  
  1088.           ushort_t  semval;   /* semaphore value */
  1089.           pid_t     sempid;   /* pid of last operation  */
  1090.           ushort_t  semncnt;  /* # awaiting semval > cval */
  1091.           ushort_t  semzcnt;  /* # awaiting semval = 0 */
  1092.  
  1093.      sssseeeemmmmvvvvaaaallll
  1094.           is a non-negative integer which is the actual value of the
  1095.           semaphore.
  1096.  
  1097.      sssseeeemmmmppppiiiidddd
  1098.           is equal to the process ID of the last process that performed a
  1099.           semaphore operation on this semaphore.
  1100.  
  1101.      sssseeeemmmmnnnnccccnnnntttt
  1102.           is a count of the number of processes that are currently suspended
  1103.           awaiting this semaphore's semval to become greater than its current
  1104.           value.
  1105.  
  1106.      sssseeeemmmmzzzzccccnnnntttt
  1107.           is a count of the number of processes that are currently suspended
  1108.           awaiting this semaphore's semval to become zero.
  1109.  
  1110.  
  1111.      SSSSeeeemmmmaaaapppphhhhoooorrrreeee OOOOppppeeeerrrraaaattttiiiioooonnnn PPPPeeeerrrrmmmmiiiissssssssiiiioooonnnnssss In the _s_e_m_o_p(2) and _s_e_m_c_t_l(2) system call
  1112.      descriptions, the permission required for an operation is given as
  1113.      "{token}", where "token" is the type of permission needed interpreted as
  1114.      follows:
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                                                                        PPPPaaaaggggeeee 11117777
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1127.  
  1128.  
  1129.  
  1130.             00400          Read by user
  1131.             00200          Alter by user
  1132.             00040          Read by group
  1133.             00020          Alter by group
  1134.             00004          Read by others
  1135.             00002          Alter by others
  1136.  
  1137.      Read and alter permissions on a semid are granted to a process if one or
  1138.      more of the following are true:
  1139.  
  1140.           The effective user ID of the process is super-user.
  1141.  
  1142.           The effective user ID of the process matches sssseeeemmmm____ppppeeeerrrrmmmm....ccccuuuuiiiidddd or
  1143.           sssseeeemmmm____ppppeeeerrrrmmmm....uuuuiiiidddd in the data structure associated with _s_e_m_i_d and the
  1144.           appropriate bit of the ``user'' portion (0600) of sssseeeemmmm____ppppeeeerrrrmmmm....mmmmooooddddeeee is
  1145.           set.
  1146.  
  1147.           The effective group ID of the process matches sssseeeemmmm____ppppeeeerrrrmmmm....ccccggggiiiidddd or
  1148.           sssseeeemmmm____ppppeeeerrrrmmmm....ggggiiiidddd and the appropriate bit of the ``group'' portion (060)
  1149.           of sssseeeemmmm____ppppeeeerrrrmmmm....mmmmooooddddeeee is set.
  1150.  
  1151.           The appropriate bit of the ``other'' portion (006) of sssseeeemmmm____ppppeeeerrrrmmmm....mmmmooooddddeeee
  1152.           is set.
  1153.  
  1154.      Otherwise, the corresponding permissions are denied.
  1155.  
  1156.  
  1157.      SSSSeeeessssssssiiiioooonnnnssss A session is a group of processes identified by a common ID
  1158.      called a session ID, capable of establishing a connection with a
  1159.      controlling terminal.  Each session is associated with one "login"
  1160.      session (windows count as logins). Any process that is not a process
  1161.      group leader may create a new session and process group by calling
  1162.      _s_e_t_s_i_d(2), which will put the process in a new session as its only member
  1163.      and as the session leader of that session.  A newly created process joins
  1164.      the session of its creator.
  1165.  
  1166.  
  1167.      SSSSeeeessssssssiiiioooonnnn LLLLeeeeaaaaddddeeeerrrr A session leader is a process whose session ID is the same
  1168.      as its process and process group ID.
  1169.  
  1170.  
  1171.      SSSSeeeessssssssiiiioooonnnn LLLLiiiiffffeeeettttiiiimmmmeeee A session lifetime begins when the session is created by
  1172.      its session leader, and ends when the lifetime of the last process that
  1173.      is a member of the session ends, or when the last process that is a
  1174.      member of the session leaves the session by calling _s_e_t_s_i_d(_2).
  1175.  
  1176.  
  1177.      SSSShhhhaaaarrrreeeedddd MMMMeeeemmmmoooorrrryyyy IIIIddddeeeennnnttttiiiiffffiiiieeeerrrr A shared memory identifier (shmid) is a unique
  1178.      positive integer created by a _s_h_m_g_e_t(2) system call.  Each shmid has a
  1179.      segment of memory (referred to as a shared memory segment) and a data
  1180.      structure associated with it.  (Note that these shared memory segments
  1181.      must be explicitly removed by the user after the last reference to them
  1182.  
  1183.  
  1184.  
  1185.                                                                        PPPPaaaaggggeeee 11118888
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1193.  
  1194.  
  1195.  
  1196.      is removed.)  The data structure is referred to as _s_h_m_i_d__d_s and contains
  1197.      the following members:
  1198.  
  1199.           struct  ipc_perm shm_perm;  /* operation permission struct */
  1200.           size_t  shm_segsz;          /* size of segment */
  1201.           pid_t   shm_lpid;           /* pid of last operation */
  1202.           pid_t   shm_cpid;           /* creator pid */
  1203.           shmatt_t shm_nattch;        /* number of current attaches */
  1204.           ulong_t shm_cnattch;        /* used only for shminfo */
  1205.           time_t  shm_atime;          /* last attach time */
  1206.           time_t  shm_dtime;          /* last detach time */
  1207.           time_t  shm_ctime;          /* last change time */
  1208.                                       /* Times measured in secs since */
  1209.                                       /* 00:00:00 GMT, Jan. 1, 1970 */
  1210.  
  1211.      sssshhhhmmmm____ppppeeeerrrrmmmm is an ipc_perm structure that specifies the shared memory
  1212.      operation permission (see below).  This structure includes the following
  1213.      members:
  1214.  
  1215.           uid_t   cuid;       /* creator user id */
  1216.           gid_t   cgid;       /* creator group id */
  1217.           uid_t   uid;        /* user id */
  1218.           gid_t   gid;        /* group id */
  1219.           mode_t  mode;       /* r/w permission */
  1220.           ulong_t seq;        /* slot usage sequence # */
  1221.           key_t   key;        /* key */
  1222.  
  1223.      sssshhhhmmmm____sssseeeeggggsssszzzz
  1224.           specifies the size of the shared memory segment in bytes.
  1225.  
  1226.      sssshhhhmmmm____ccccppppiiiidddd
  1227.           is the process id of the process that created the shared memory
  1228.           identifier.
  1229.  
  1230.      sssshhhhmmmm____llllppppiiiidddd
  1231.           is the process id of the last process that performed a _s_h_m_o_p(2)
  1232.           operation.
  1233.  
  1234.      sssshhhhmmmm____nnnnaaaattttttttcccchhhh
  1235.           is the number of processes that currently have this segment
  1236.           attached.
  1237.  
  1238.      sssshhhhmmmm____aaaattttiiiimmmmeeee
  1239.           is the time of the last _s_h_m_a_t(2) operation,
  1240.  
  1241.      sssshhhhmmmm____ddddttttiiiimmmmeeee
  1242.           is the time of the last _s_h_m_d_t(2) operation.
  1243.  
  1244.      sssshhhhmmmm____ccccttttiiiimmmmeeee
  1245.           is the time of the last _s_h_m_c_t_l(2) operation that changed one of the
  1246.           members of the above structure.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.                                                                        PPPPaaaaggggeeee 11119999
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1259.  
  1260.  
  1261.  
  1262.  
  1263.      SSSShhhhaaaarrrreeeedddd MMMMeeeemmmmoooorrrryyyy OOOOppppeeeerrrraaaattttiiiioooonnnn PPPPeeeerrrrmmmmiiiissssssssiiiioooonnnnssss In the _s_h_m_o_p(2) and _s_h_m_c_t_l(2) system
  1264.      call descriptions, the permission required for an operation is given as
  1265.      "{token}", where "token" is the type of permission needed interpreted as
  1266.      follows:
  1267.  
  1268.             00400          Read by user
  1269.             00200          Write by user
  1270.             00040          Read by group
  1271.             00020          Write by group
  1272.             00004          Read by others
  1273.             00002          Write by others
  1274.  
  1275.      Read and write permissions on a shmid are granted to a process if one or
  1276.      more of the following are true:
  1277.  
  1278.           The effective user ID of the process is super-user.
  1279.  
  1280.           The effective user ID of the process matches sssshhhhmmmm____ppppeeeerrrrmmmm....ccccuuuuiiiidddd or
  1281.           sssshhhhmmmm____ppppeeeerrrrmmmm....uuuuiiiidddd in the data structure associated with _s_h_m_i_d and the
  1282.           appropriate bit of the ``user'' portion (0600) of sssshhhhmmmm____ppppeeeerrrrmmmm....mmmmooooddddeeee is
  1283.           set.
  1284.  
  1285.           The effective group ID of the process matches sssshhhhmmmm____ppppeeeerrrrmmmm....ccccggggiiiidddd or
  1286.           sssshhhhmmmm____ppppeeeerrrrmmmm....ggggiiiidddd and the appropriate bit of the ``group'' portion (060)
  1287.           of sssshhhhmmmm____ppppeeeerrrrmmmm....mmmmooooddddeeee is set.
  1288.  
  1289.           The appropriate bit of the ``other'' portion (06) of sssshhhhmmmm____ppppeeeerrrrmmmm....mmmmooooddddeeee
  1290.           is set.
  1291.  
  1292.      Otherwise, the corresponding permissions are denied.
  1293.  
  1294.  
  1295.      SSSSppppeeeecccciiiiaaaallll PPPPrrrroooocccceeeesssssssseeeessss The processes with a process ID of 0 and a process ID
  1296.      of 1 are special processes and are referred to as _p_r_o_c_0 and _p_r_o_c_1.
  1297.  
  1298.      _P_r_o_c_0 is the scheduler.  _P_r_o_c_1 is the initialization process (_i_n_i_t).
  1299.      Proc1 is the ancestor of every other process in the system and is used to
  1300.      control the process structure.
  1301.  
  1302.  
  1303.      SSSSTTTTRRRREEEEAAAAMMMMSSSS A set of kernel mechanisms that support the development of
  1304.      network services and data communication _d_r_i_v_e_rs.  It defines interface
  1305.      standards for character input/output within the kernel and between the
  1306.      kernel and user level processes.  The STREAMS mechanism is composed of
  1307.      utility routines, kernel facilities and a set of data structures.
  1308.  
  1309.  
  1310.      SSSSttttrrrreeeeaaaammmm A stream is a full-duplex data path within the kernel between a
  1311.      user process and driver routines.  The primary components are a _s_t_r_e_a_m
  1312.      _h_e_a_d, a _d_r_i_v_e_r and zero or more _m_o_d_u_l_e_s between the _s_t_r_e_a_m _h_e_a_d and
  1313.      _d_r_i_v_e_r.  A _s_t_r_e_a_m is analogous to a Shell pipeline except that data flow
  1314.  
  1315.  
  1316.  
  1317.                                                                        PPPPaaaaggggeeee 22220000
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1325.  
  1326.  
  1327.  
  1328.      and processing are bidirectional.
  1329.  
  1330.  
  1331.      SSSSttttrrrreeeeaaaammmm HHHHeeeeaaaadddd In a _s_t_r_e_a_m, the _s_t_r_e_a_m _h_e_a_d is the end of the _s_t_r_e_a_m that
  1332.      provides the interface between the _s_t_r_e_a_m and a user process.  The
  1333.      principle functions of the _s_t_r_e_a_m _h_e_a_d are processing STREAMS-related
  1334.      system calls, and passing data and information between a user process and
  1335.      the _s_t_r_e_a_m.
  1336.  
  1337.  
  1338.      SSSSuuuupppppppplllleeeemmmmeeeennnnttttaaaarrrryyyy GGGGrrrroooouuuupppp IIIIDDDD A process has up to {_N_G_R_O_U_P_S__M_A_X} supplementary
  1339.      group IDs used in determining file access permissions, in addition to the
  1340.      effective group ID.  The supplementary group IDs of a process are set to
  1341.      the supplementary group IDs of the parent process when the process is
  1342.      created.
  1343.  
  1344.  
  1345.      SSSSuuuuppppeeeerrrr----uuuusssseeeerrrr A process is recognized as a _s_u_p_e_r-_u_s_e_r process and is granted
  1346.      special privileges, such as immunity from file permissions, if its
  1347.      effective user ID is 0.
  1348.  
  1349.  
  1350.      UUUUppppssssttttrrrreeeeaaaammmm In a _s_t_r_e_a_m, the direction from _d_r_i_v_e_r to _s_t_r_e_a_m _h_e_a_d.
  1351.  
  1352.  
  1353.      WWWWrrrriiiitttteeee QQQQuuuueeeeuuuueeee In a _s_t_r_e_a_m, the _m_e_s_s_a_g_e _q_u_e_u_e in a _m_o_d_u_l_e or _d_r_i_v_e_r
  1354.      containing _m_e_s_s_a_g_e_s moving _d_o_w_n_s_t_r_e_a_m.
  1355.  
  1356. LLLLIIIIMMMMIIIITTTTSSSS
  1357.      The various limits can be categorized as follows:  not modifiable,
  1358.      modifiable at sysgen time and modifiable at runtime.  Most limits are
  1359.      controlled by variables that can be changed by editing the file
  1360.      /_v_a_r/_s_y_s_g_e_n/_s_t_u_n_e or using the _ssss_yyyy_ssss_tttt_uuuu_nnnn_eeee(1M) command.  All the tunable
  1361.      parameters and their ranges are located in the directory
  1362.      /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e.  Files in this directory should not be modified.
  1363.      Limits may apply system wide or per process.  Most per process limits are
  1364.      inherited on _f_o_r_k, _s_p_r_o_c, and _e_x_e_c.  Some per process limits are managed
  1365.      via the _ssss_eeee_tttt_rrrr_llll_iiii_mmmm_iiii_tttt(2) resource management call.  These resource limits
  1366.      have two values associated with them - a current and a maximum.  A non-
  1367.      privileged process may change its current value as long as its less than
  1368.      the maximum.  It may also lower its maximum, but once it does so, it may
  1369.      not raise it again.  A privileged process may raise or lower both its
  1370.      current and maximum values.  Resource limits may be queried
  1371.      programmatically via _gggg_eeee_tttt_rrrr_llll_iiii_mmmm_iiii_tttt(2) and via the shell _l_i_m_i_t or _u_l_i_m_i_t
  1372.      built-in command.  They may also be set either programmatically or via
  1373.      the shell.  The initial values (those given to process 1, and via
  1374.      inheritance to all other processes) may be set at sysgen time.
  1375.  
  1376.  
  1377.      {_N_P_R_O_C} is the maximum number of processes allowed to run concurrently on
  1378.      the system.  It is modifiable at sysgen time by setting the variable
  1379.      _n_p_r_o_c within the range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.  The current
  1380.  
  1381.  
  1382.  
  1383.                                                                        PPPPaaaaggggeeee 22221111
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1391.  
  1392.  
  1393.  
  1394.      number in use and the current configured number may be retrieved via the
  1395.      _s_a_r -_v command.
  1396.  
  1397.  
  1398.      {_N_F_I_L_E__M_A_X} is the maximum number of open files that can be
  1399.      simultaneously active system wide.  This is limited only by the amount of
  1400.      memory in the system.  The current number in use and the maximum number
  1401.      that has ever been allocated may be retrieved via the _s_a_r -_v command.
  1402.  
  1403.  
  1404.      {_F_L_O_C_K__M_A_X} is the maximum number of file locks system wide that may be
  1405.      active.  This is limited only by the amount of memory in the system.  The
  1406.      current number in use and the maximum number that has ever been allocated
  1407.      may be retrieved via the _s_a_r -_v command.
  1408.  
  1409.  
  1410.      {_N_A_M_E__M_A_X} is the maximum length of a file name.  It is defined in
  1411.      _l_i_m_i_t_s._h and is not modifiable.
  1412.  
  1413.  
  1414.      {_P_A_T_H__M_A_X} is the maximum length of a path name.  It is defined in
  1415.      _l_i_m_i_t_s._h and is not modifiable.
  1416.  
  1417.  
  1418.      {_L_I_N_K__M_A_X} is the maximum number of hard links that may be made to a
  1419.      given file.  It is defined in _l_i_m_i_t_s._h and is not modifiable.
  1420.  
  1421.  
  1422.      {_O_P_E_N__M_A_X} is the maximum number of open files a given process may have.
  1423.      The minimum value this can have is defined in _l_i_m_i_t_s._h.  It is the
  1424.      resource limit _RRRR_LLLL_IIII_MMMM_IIII_TTTT______NNNN_OOOO_FFFF_IIII_LLLL_EEEE defined in _ssss_eeee_tttt_rrrr_llll_iiii_mmmm_iiii_tttt (2).  The initial
  1425.      current and maximum limits may be changed by setting the variables
  1426.      _r_l_i_m_i_t__n_o_f_i_l_e__c_u_r and _r_l_i_m_i_t__n_o_f_i_l_e__m_a_x within the range defined in
  1427.      /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.  The current number of open files configured
  1428.      may be obtained programmatically via _g_e_t_r_l_i_m_i_t(2), _g_e_t_d_t_a_b_l_e_s_i_z_e(2),
  1429.      _s_y_s_c_o_n_f(2), or _u_l_i_m_i_t(2); and may be obtained from the shell by either
  1430.      the _l_i_m_i_t or _u_l_i_m_i_t built-in command.
  1431.  
  1432.  
  1433.      {_C_H_I_L_D__M_A_X} is the maximum number of processes a given user may have
  1434.      running simultaneously.  The minimum value this can have is defined in
  1435.      _l_i_m_i_t_s._h.  It is modifiable at runtime by setting the variable _m_a_x_u_p
  1436.      within the range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.  The current
  1437.      configured maximum may be obtained from _s_y_s_c_o_n_f(2).
  1438.  
  1439.  
  1440.      {_S_H_L_I_B__M_A_X} is the maximum number of shared libraries a program can link
  1441.      with.  It is modifiable at runtime by setting the variable _s_h_l_b_m_a_x within
  1442.      the range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.                                                                        PPPPaaaaggggeeee 22222222
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1457.  
  1458.  
  1459.  
  1460.  
  1461.      {_A_R_G__M_A_X} is the maximum number of bytes that may be passed via _e_x_e_c.
  1462.      The minimum value this can have is defined in _l_i_m_i_t_s._h.  It is modifiable
  1463.      at runtime by setting the variable _n_c_a_r_g_s within the range defined in
  1464.      /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.  The current configured maximum may be obtained
  1465.      from _s_y_s_c_o_n_f(2).
  1466.  
  1467.  
  1468.      {_F_I_L_E_S_I_Z_E__M_A_X} is the maximum size in bytes that a single file can grow
  1469.      to.  It is the resource limit _RRRR_LLLL_IIII_MMMM_IIII_TTTT______FFFF_SSSS_IIII_ZZZZ_EEEE defined in _ssss_eeee_tttt_rrrr_llll_iiii_mmmm_iiii_tttt (2).  The
  1470.      initial current and maximum limits may be changed by setting the
  1471.      variables _r_l_i_m_i_t__f_s_i_z_e__c_u_r and _r_l_i_m_i_t__f_s_i_z_e__m_a_x within the range defined
  1472.      in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.
  1473.  
  1474.  
  1475.      {_P_R_O_C_S_I_Z_E__M_A_X} is the maximum virtual size a process can grow to.  A
  1476.      process is made up an arbitrary number of virtual spaces.  There are
  1477.      limits on the total size of process as well as certain limits on
  1478.      individual spaces.  The overall limit is defined by the resource limit
  1479.      _RRRR_LLLL_IIII_MMMM_IIII_TTTT______VVVV_MMMM_EEEE_MMMM.  The initial current and maximum limits may be changed by
  1480.      setting the variables _r_l_i_m_i_t__v_m_e_m__c_u_r and _r_l_i_m_i_t__v_m_e_m__m_a_x within the
  1481.      range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.  The maximum stack size is
  1482.      defined by the resource limit _RRRR_LLLL_IIII_MMMM_IIII_TTTT______SSSS_TTTT_AAAA_CCCC_KKKK.  The initial current and
  1483.      maximum limits may be changed by setting the variables _r_l_i_m_i_t__s_t_a_c_k__c_u_r
  1484.      and _r_l_i_m_i_t__s_t_a_c_k__m_a_x within the range defined in
  1485.      /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.  The maximum data size is defined by the
  1486.      resource limit _RRRR_LLLL_IIII_MMMM_IIII_TTTT______DDDD_AAAA_TTTT_AAAA.  The initial current and maximum limits may
  1487.      be changed by setting the variables _r_l_i_m_i_t__d_a_t_a__c_u_r and _r_l_i_m_i_t__d_a_t_a__m_a_x
  1488.      within the range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.  The maximum size
  1489.      of a shared memory segment is modifiable at sysgen time by setting the
  1490.      variable _s_h_m_m_a_x within the range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_s_h_m.
  1491.  
  1492.  
  1493.      {_S_H_M_S_E_G__M_A_X} is the maximum number of shared memory segments system wide.
  1494.      It is modifiable at sysgen time by setting the variable _s_h_m_m_n_i within the
  1495.      range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_s_h_m.
  1496.  
  1497.  
  1498.      {_S_H_M_A_T__M_A_X} is the maximum number of shared memory segments a given
  1499.      process may attach to.  It is modifiable at sysgen time by setting the
  1500.      variable _s_s_h_m_s_e_g within the range defined in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_s_h_m.
  1501.  
  1502.  
  1503.      {_S_Y_M_L_I_N_K__M_A_X} is the maximum number of symbolic links a given path name
  1504.      traversal will follow before assuming there is a loop.  It is modifiable
  1505.      at runtime by setting the variable _m_a_x_s_y_m_l_i_n_k_s within the range defined
  1506.      in /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.
  1507.  
  1508.  
  1509.      {_P_L_O_C_K__M_A_X} is the maximum number of pages a non-privileged process is
  1510.      allowed to lock at any one time.  It is modifiable at runtime by setting
  1511.      the variable _m_a_x_l_k_m_e_m within the range defined in
  1512.  
  1513.  
  1514.  
  1515.                                                                        PPPPaaaaggggeeee 22223333
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. IIIINNNNTTTTRRRROOOO((((2222))))                                                              IIIINNNNTTTTRRRROOOO((((2222))))
  1523.  
  1524.  
  1525.  
  1526.      /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.
  1527.  
  1528.  
  1529.      {_P_R_O_F_I_L__M_A_X} is the maximum number of _p_r_o_f structures that can be passed
  1530.      as an argument to the sssspppprrrrooooffffiiiillll (2) system call.  It is modifiable at
  1531.      sysgen time by setting the variable _n_p_r_o_f_i_l_e within the range defined in
  1532.      /_v_a_r/_s_y_s_g_e_n/_m_t_u_n_e/_k_e_r_n_e_l.
  1533.  
  1534.  
  1535.      {_I_O_V__M_A_X} is the maximum number of _i_o_v_e_c structures that can be passed to
  1536.      _rrrr_eeee_aaaa_dddd_vvvv or _wwww_rrrr_iiii_tttt_eeee_vvvv.  Currently, its value is 16.
  1537.  
  1538. IIIINNNNTTTTEEEERRRRRRRRUUUUPPPPTTTTIIIIBBBBIIIILLLLIIIITTTTYYYY
  1539.      Certain system calls can be interrupted by the process receiving a
  1540.      signal.  These include but are not limited to _f_c_n_t_l(2), _o_p_e_n(2), _r_e_a_d(2),
  1541.      _w_r_i_t_e(2), and _i_o_c_t_l(2).  The conditions under which a given system call
  1542.      can be interrupted are listed on each manual page.  In addition, any file
  1543.      system oriented system call can either time out ( ETIMEDOUT or be
  1544.      interrupted EINTR ) if the object of the system call is located on a
  1545.      remote system accessed via NFS.  Whether these system calls can time out
  1546.      or be interrupted is based on how the underlying file system was mounted
  1547.      on the local machine [see _f_s_t_a_b(4) and _m_o_u_n_t(1M)].
  1548.  
  1549.      All system calls can be automatically restarted upon receipt of a signal.
  1550.      Whether a system call should be restarted is configurable on a per signal
  1551.      basis (see _ssss_iiii_gggg_aaaa_cccc_tttt_iiii_oooo_nnnn(2)).
  1552.  
  1553. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1554.      sar(1), lboot(1M), mount(1M), getrlimit(2), pathconf(2), sysconf(2),
  1555.      ulimit(2), intro(3), perror(3), fstab(4).
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                                                        PPPPaaaaggggeeee 22224444
  1582.  
  1583.  
  1584.  
  1585.